Hi, I’m Michael. I make software for sound and graphics.
I’m a developer working mostly on Apple platforms, where I spend my time on real-time audio, GPU rendering, and the small details that make an app feel good to use.
I like working close to the hardware: DSP code that has to finish in under a millisecond, shaders that need to hold 120 frames a second, text that has to stay sharp at any size. I also like the other end of the spectrum — small, focused apps that do one thing well and get out of the way.
This site is where I keep track of what I’m building and write up what I learn along the way.
Things I’m interested in right now:
- real-time audio and DSP
- text and vector rendering on the GPU
- physical modelling of acoustic instruments
- tools that feel more like instruments than software
Recent writing
- How this blog works Every post is a folder in a Git repository. Pushing to GitHub puts it on the site about a minute later.
- A raymarched scene, running in the page Signed distance fields, a smooth minimum and about a hundred lines of GLSL, drawn live inside the post.
- Watching a path tracer converge The same image at 1 to 1,024 samples per pixel, and why the noise takes so long to go away.